Argus: Online Statistical Bug Detection
نویسندگان
چکیده
Statistical debugging is a powerful technique for identifying bugs that do not violate programming rules or program invariants. Previously known statistical debugging techniques are offline bug isolation (or localization) techniques. In these techniques, the program dumps data during its execution, which is used by offline statistical analysis to discover differences in passing and failing executions. The differences identify potential bug sites. Offline techniques suffer from three limitations: (i) a large number of executions are needed to provide data, (ii) each execution must be labelled as passing or failing, and (iii) they are postmortem techniques and therefore cannot raise an alert at runtime when a bug symptom occurs. In this paper, we present an online statistical bug detection tool called Argus. Argus constructs statistics at runtime using a sliding window over the program execution, is capable of detecting bugs in a single execution and can raise an alert at runtime when bug symptoms occur. Moreover, it eliminates the requirement for labelling all executions as passing or failing. We present experimental results using the Siemens bug benchmark showing that Argus is effective in detecting 102 out of 130 bugs. We introduce optimization techniques that greatly improve Argus’ detection power and control the false alarm rate when a small number of executions are available. Argus generates more precise bug reports than the best known bug localization techniques.
منابع مشابه
Proving the Completeness of the Composition of Two Dynamic Verification Techniques
There has been a significant amount of recent research in low-cost mechanisms for detecting errors in computer execution that are due to hardware faults. One exciting, low-cost approach to error detection is dynamic verification (sometimes also called online testing or runtime invariant checking). The idea is for the hardware to dynamically (i.e., at runtime) check whether certain necessary inv...
متن کاملArgus-G: A Low-Cost Error Detection Scheme for GPGPUs
We have developed Argus-G, a low-cost error detection mechanism for the SIMT cores found in GPGPUs. As GPUs make the transition into general purpose computing, detecting errors and dealing with them will become a more pressing issue. General purpose graphics processing units are increasingly used for scientific computing, where errors, if not detected, can significantly distort the results of t...
متن کاملArgus: Software for Statistical Disclosure Control of Microdata
In recent years Statistics Netherlands has developed a prototype version of a software package, ARGUS, to protect microdata files against statistical disclosure. In 1995 the present prototype version of ARGUS, namely version 1.1, has been released. In this paper both the rules, based on checking low-dimensional combinations of values of so-called identifying variables, and the techniques, globa...
متن کاملWindows Performance Monitoring and Data Reduction using WatchTower and Argus Extended Abstract
We describe and evaluate WatchTower, a system that simplifies the collection of Windows performance counter data, and Argus, a statistical methodology for evaluating this data and reducing the sheer volume of it. This is especially important when monitoring the performance of clusters for high performance computing. WatchTower’s overheads are comparable to those of Microsoft’s perfmon tool, whi...
متن کاملDetection of Panulirus argus Virus 1 (PaV1) in exported frozen tails of subadult-adult Caribbean spiny lobsters Panulirus argus.
The Caribbean spiny lobster Panulirus argus is a valuable fishing resource and the trade in frozen lobster tails is an important industry. However, the presence of the pathogenic virus Panulirus argus Virus 1 (PaV1), which causes systemic infection in P. argus and is particularly lethal to juvenile individuals, has not been previously examined in imported/exported lobster products. We used PCR ...
متن کامل